[INFO] cloning repository https://github.com/SnoozeTime/spacegame
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SnoozeTime/spacegame" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSnoozeTime%2Fspacegame", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSnoozeTime%2Fspacegame'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2c643b3c64119775cf9411bc5c23993fa0fe7c2f
[INFO] checking SnoozeTime/spacegame against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSnoozeTime%2Fspacegame" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/SnoozeTime/spacegame
[INFO] finished tweaking git repo https://github.com/SnoozeTime/spacegame
[INFO] tweaked toml for git repo https://github.com/SnoozeTime/spacegame written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/SnoozeTime/spacegame on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/SnoozeTime/spacegame already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded typetag-impl v0.1.6
[INFO] [stderr]   Downloaded inventory v0.1.9
[INFO] [stderr]   Downloaded inventory-impl v0.1.9
[INFO] [stderr]   Downloaded typetag v0.1.6
[INFO] [stderr]   Downloaded fetch_unroll v0.2.1
[INFO] [stderr]   Downloaded ctor v0.1.16
[INFO] [stderr]   Downloaded ghost v0.1.2
[INFO] [stderr]   Downloaded thiserror-impl v1.0.22
[INFO] [stderr]   Downloaded minimp3 v0.5.0
[INFO] [stderr]   Downloaded thiserror v1.0.22
[INFO] [stderr]   Downloaded parking_lot_core v0.8.1
[INFO] [stderr]   Downloaded smallvec v1.5.1
[INFO] [stderr]   Downloaded darling_macro v0.10.3
[INFO] [stderr]   Downloaded syn v1.0.54
[INFO] [stderr]   Downloaded erased-serde v0.3.12
[INFO] [stderr]   Downloaded ureq v0.11.4
[INFO] [stderr]   Downloaded luminance-windowing v0.9.3
[INFO] [stderr]   Downloaded luminance-derive v0.6.3
[INFO] [stderr]   Downloaded luminance-glfw v0.14.4
[INFO] [stderr]   Downloaded glyph_brush_layout v0.1.9
[INFO] [stderr]   Downloaded dirs v3.0.1
[INFO] [stderr]   Downloaded darling v0.10.3
[INFO] [stderr]   Downloaded cookie v0.12.0
[INFO] [stderr]   Downloaded addr2line v0.14.0
[INFO] [stderr]   Downloaded luminance-gl v0.16.1
[INFO] [stderr]   Downloaded libflate v0.1.27
[INFO] [stderr]   Downloaded anyhow v1.0.35
[INFO] [stderr]   Downloaded alsa-sys v0.3.0
[INFO] [stderr]   Downloaded pin-project-lite v0.1.11
[INFO] [stderr]   Downloaded darling_core v0.10.3
[INFO] [stderr]   Downloaded bincode v1.3.1
[INFO] [stderr]   Downloaded hecs v0.3.1
[INFO] [stderr]   Downloaded glyph_brush v0.6.3
[INFO] [stderr]   Downloaded toml v0.5.7
[INFO] [stderr]   Downloaded luminance v0.43.1
[INFO] [stderr]   Downloaded xi-unicode v0.2.1
[INFO] [stderr]   Downloaded glam v0.11.2
[INFO] [stderr]   Downloaded combine v4.4.0
[INFO] [stderr]   Downloaded glfw v0.41.0
[INFO] [stderr]   Downloaded rustls v0.16.0
[INFO] [stderr]   Downloaded glfw-sys v3.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 73703d23ee283235c8b5c2e66fb816a6141f1b2f21d677da7a66e2c55b15b5cc
[INFO] running `Command { std: "docker" "start" "73703d23ee283235c8b5c2e66fb816a6141f1b2f21d677da7a66e2c55b15b5cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73703d23ee283235c8b5c2e66fb816a6141f1b2f21d677da7a66e2c55b15b5cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "73703d23ee283235c8b5c2e66fb816a6141f1b2f21d677da7a66e2c55b15b5cc" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73703d23ee283235c8b5c2e66fb816a6141f1b2f21d677da7a66e2c55b15b5cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "73703d23ee283235c8b5c2e66fb816a6141f1b2f21d677da7a66e2c55b15b5cc" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.81
[INFO] [stderr]    Compiling syn v1.0.54
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling cc v1.0.66
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling getrandom v0.1.15
[INFO] [stderr]    Compiling serde v1.0.118
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking euclid v0.22.1
[INFO] [stderr]    Compiling alsa-sys v0.3.0
[INFO] [stderr]    Compiling nix v0.15.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking sid v0.6.1
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]    Compiling cpal v0.13.1
[INFO] [stderr]    Compiling inventory v0.1.9
[INFO] [stderr]     Checking linked-hash-map v0.5.3
[INFO] [stderr]    Compiling glam v0.11.2
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking ahash v0.4.7
[INFO] [stderr]    Compiling serde_json v1.0.60
[INFO] [stderr]     Checking xi-unicode v0.2.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling anyhow v1.0.35
[INFO] [stderr]     Checking crossbeam-channel v0.4.4
[INFO] [stderr]     Checking hound v3.4.0
[INFO] [stderr]     Checking bytemuck v1.4.1
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]     Checking anymap v0.12.1
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking lyon_geom v0.16.2
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking hecs v0.3.1
[INFO] [stderr]    Compiling cmake v0.1.45
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]    Compiling minimp3-sys v0.3.2
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking slice-deque v0.3.0
[INFO] [stderr]     Checking lyon_path v0.16.2
[INFO] [stderr]     Checking inotify-sys v0.1.4
[INFO] [stderr]     Checking dirs-sys v0.3.5
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking inotify v0.8.3
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking filetime v0.2.13
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking image v0.23.12
[INFO] [stderr]    Compiling glfw-sys v3.3.2
[INFO] [stderr]     Checking dirs v3.0.1
[INFO] [stderr]     Checking pretty_env_logger v0.4.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking lyon_tessellation v0.16.2
[INFO] [stderr]     Checking lyon_algorithms v0.16.0
[INFO] [stderr]     Checking glyph_brush_layout v0.1.9
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking notify v5.0.0-pre.4
[INFO] [stderr]     Checking lyon v0.16.2
[INFO] [stderr]     Checking minimp3 v0.5.0
[INFO] [stderr]     Checking twox-hash v1.6.0
[INFO] [stderr]     Checking glyph_brush v0.6.3
[INFO] [stderr]     Checking glfw v0.41.0
[INFO] [stderr]    Compiling serde_derive v1.0.118
[INFO] [stderr]    Compiling luminance-derive v0.6.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.22
[INFO] [stderr]    Compiling ctor v0.1.16
[INFO] [stderr]    Compiling ghost v0.1.2
[INFO] [stderr]    Compiling inventory-impl v0.1.9
[INFO] [stderr]    Compiling typetag-impl v0.1.6
[INFO] [stderr]     Checking alsa v0.4.3
[INFO] [stderr]     Checking thiserror v1.0.22
[INFO] [stderr]     Checking luminance v0.43.1
[INFO] [stderr]     Checking luminance-windowing v0.9.3
[INFO] [stderr]     Checking luminance-gl v0.16.1
[INFO] [stderr]     Checking luminance-glfw v0.14.4
[INFO] [stderr]     Checking rodio v0.13.0
[INFO] [stderr]     Checking erased-serde v0.3.12
[INFO] [stderr]     Checking bincode v1.3.1
[INFO] [stderr]     Checking typetag v0.1.6
[INFO] [stderr]     Checking spacegame v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `does_start` is never read
[INFO] [stdout]   --> src/scene/main_menu.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MainMenu {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 28 |     does_start: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MainMenu` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/assets/mod.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn keys(&self) -> Keys<Handle<H>, Asset<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn keys(&self) -> Keys<'_, Handle<H>, Asset<T>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/assets/mod.rs:384:20
[INFO] [stdout]     |
[INFO] [stdout] 384 |         for res in &self.rx.try_recv() {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 384 -         for res in &self.rx.try_recv() {
[INFO] [stdout] 384 +         while let Ok(res) = &self.rx.try_recv() {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 384 -         for res in &self.rx.try_recv() {
[INFO] [stdout] 384 +         if let Ok(res) = &self.rx.try_recv() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Send` is not local
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Sync` is not local
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Send` is not local
[INFO] [stdout]    | `Sync` is not local
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Strictest` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | -^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Box` is not local
[INFO] [stdout]    | `Deserialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/render/path/debug.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn drain(&mut self) -> std::vec::Drain<(Vec<Vertex>, Vec<u16>)> {
[INFO] [stdout]    |                  ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn drain(&mut self) -> std::vec::Drain<'_, (Vec<Vertex>, Vec<u16>)> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resources.rs:97:36
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn fetch<T: Any + 'static>(&self) -> Option<Fetch<T>> {
[INFO] [stdout]    |                                    ^^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn fetch<T: Any + 'static>(&self) -> Option<Fetch<'_, T>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resources.rs:113:40
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn fetch_mut<T: Any + 'static>(&self) -> Option<FetchMut<T>> {
[INFO] [stdout]     |                                        ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn fetch_mut<T: Any + 'static>(&self) -> Option<FetchMut<'_, T>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `does_start` is never read
[INFO] [stdout]   --> src/scene/main_menu.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MainMenu {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 28 |     does_start: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MainMenu` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/assets/mod.rs:321:17
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn keys(&self) -> Keys<Handle<H>, Asset<T>> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 321 |     pub fn keys(&self) -> Keys<'_, Handle<H>, Asset<T>> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/assets/mod.rs:384:20
[INFO] [stdout]     |
[INFO] [stdout] 384 |         for res in &self.rx.try_recv() {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 384 -         for res in &self.rx.try_recv() {
[INFO] [stdout] 384 +         while let Ok(res) = &self.rx.try_recv() {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 384 -         for res in &self.rx.try_recv() {
[INFO] [stdout] 384 +         if let Ok(res) = &self.rx.try_recv() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Send` is not local
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Sync` is not local
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Send` is not local
[INFO] [stdout]    | `Sync` is not local
[INFO] [stdout]    | `Serialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Strictest` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/assets/prefab.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[typetag::serde]
[INFO] [stdout]    | -^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `Box` is not local
[INFO] [stdout]    | `Deserialize` is not local
[INFO] [stdout]    | move the `impl` block outside of this constant `_Prefab_registry`
[INFO] [stdout] 12 | pub trait Prefab: std::fmt::Debug {
[INFO] [stdout]    |           ------ `Prefab` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/render/path/debug.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn drain(&mut self) -> std::vec::Drain<(Vec<Vertex>, Vec<u16>)> {
[INFO] [stdout]    |                  ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn drain(&mut self) -> std::vec::Drain<'_, (Vec<Vertex>, Vec<u16>)> {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resources.rs:97:36
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn fetch<T: Any + 'static>(&self) -> Option<Fetch<T>> {
[INFO] [stdout]    |                                    ^^^^^            ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn fetch<T: Any + 'static>(&self) -> Option<Fetch<'_, T>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resources.rs:113:40
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn fetch_mut<T: Any + 'static>(&self) -> Option<FetchMut<T>> {
[INFO] [stdout]     |                                        ^^^^^            ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn fetch_mut<T: Any + 'static>(&self) -> Option<FetchMut<'_, T>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.53s
[INFO] running `Command { std: "docker" "inspect" "73703d23ee283235c8b5c2e66fb816a6141f1b2f21d677da7a66e2c55b15b5cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73703d23ee283235c8b5c2e66fb816a6141f1b2f21d677da7a66e2c55b15b5cc", kill_on_drop: false }`
[INFO] [stdout] 73703d23ee283235c8b5c2e66fb816a6141f1b2f21d677da7a66e2c55b15b5cc
